In a networked communication system involving a plurality of nodes exchanging information using packet-based messaging, one or more of the nodes may be configured to transmit packets to different receivers. For example, a wireless local area network (WLAN) implemented in an IEEE 802.11 infrastructure configuration may include any number of access points (APs) and any number of stations (STAs). Each AP may act as a coordinator for communication with the STAs. As such, an AP may receive packets from a variety of sources and then transmit them to STAs associated with the AP on the basis of address information in the packet.
Depending upon the design of the AP, various functional blocks may be configured to perform the operations required to properly route packets to their intended STAs. For example, the AP may have a WLAN module that acts as the interface to the wireless medium. Accordingly, the WLAN module may have primarily hardware and firmware implemented blocks for providing the basic handling and processing of packets, including verification, acknowledgment, routing, formatting and governing access to the medium, as well as modulating the packets according to the relevant 802.11 protocol, converting them to and from analog signals and transmitting and receiving the signals at radio frequency. Further, the AP may also have a host processor capable of performing various higher-level tasks associated with the operation of the AP. In particular, the host processor may be configured to implement software instructions in order to provide more advanced handling of the packets, such as making routing decisions based on a quality of service (QoS) associated with the packets.
In one aspect, an important function of an AP is to buffer packets destined for a STA that is operating in a power save mode and therefore may be unable to receive the packets at the current time. By providing this buffering function, the AP may allow the STAs to enter power save mode and realize important reductions in power consumption. Typically, when the WLAN module of the AP is unable to transmit a packet, such as when a STA is in power save mode, the host processor may be required to determine characteristics of the packet to facilitate proper buffering. Involvement of the host processor in this manner may place a considerable strain on the AP and may prevent the host processor from performing other tasks. As wireless networks evolve, ever higher packet rates may be employed, which exacerbates these issues. Therefore, it may be desirable to reduce the load on the host processor associated with the buffering and delivery of packets.
Another aspect of the AP's architecture is the distribution of memory between the various functional blocks. Due to design considerations, it may be desirable to employ a WLAN module that may have limited dedicated memory resources. In such implementations, the WLAN module may not be able to buffer the packets that are being held for STAs in power save mode or that are otherwise not presently deliverable. Accordingly, it may be desirable to configure the host processor to maintain the buffers or other memory structures associated with the handling of packets.
Thus, there is a need for a target interface for providing access to a communications medium of a device that may be configured to off-load aspects of packet handling from a host processor. Further, there is a need for providing reliable buffering for packets that are not currently deliverable. In addition, there is a need for providing adequate buffering for such packets without exhausting the memory resources of the interface. The present invention satisfies these and other needs.